﻿
$(document).ready(main);

function main() {
    $("#fecha").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#FechaIB").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#FechaFB").datepicker({ dateFormat: 'dd/mm/yy' });
    $("#botonCancelar").click(menuQuejasySugerencias);
    $("#botonCancelar2").click(menuQuejasySugerencias);
    $("#botonRegistrar").click(registrarQuejaySugerencia);
    $("#botonBuscar").click(buscarQuejaySugerencia);
    $("#Limpiar").click(LimpiarBusquedaQS);
    $("#botonModificarB").hide();
    $("#botonAtender").hide();
    $("#botonAtender").click(eliminar);
    cargarEdificios();
}

//LIMPIAR BUSCAR
function LimpiarBusquedaQS() {

    document.getElementById("FechaIB").value = "";
    document.getElementById("FechaFB").value = "";
    document.getElementById("Nombre").value = "";
    document.getElementById("estado").value = "";
    document.getElementById("tipo").value = "";

}
//********************************************************

//FUNCION LIMPIAR LABELS DINAMICOS
function borrarErrores() {
    document.getElementById("errorPersona").innerHTML = "";
    document.getElementById("errorEdificio").innerHTML = "";
    document.getElementById("errorTipo").innerHTML = "";
    document.getElementById("errorLugar").innerHTML = "";
    document.getElementById("errorFecha").innerHTML = ""; 
    document.getElementById("errorDescripcion").innerHTML = "";
}
//*********************************************************

//FUNCION CARGAR COMBOBOX DE LISTA DE EDIFICIOS
function cargarEdificios() {

    var enviar = {
        Nombre: ""
    }

    console.log(enviar);

    var jsonData = JSON.stringify(enviar);

    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "cargarEdificios",
        beforeSend: esperarEdificio,
        success: function (data) {
            console.log(data);

            var lista = data.ListaEdificio;

            $("#Nombre").find('option').remove().end().append("<option></option>");
            $.each(lista, function (i, item) {
                $("#Nombre").append("<option value =\"" + item.Id_Edificio + "\">" + item.Nombre + "</option>");
            });
        }
    });
}

function esperarEdificio() {
}
//************************************************************************
//FUNCION REGISTRAR QUEJAS Y SUGERENCIAS
function registrarQuejaySugerencia() {
    var enviar = {
        id_Edificio: $("#Nombre").val(),
        Tipo: $("input[name='Tipo']:checked").val(),
        Lugar: $("#Lugar").attr("value"),
        fecha: $("#fecha").attr("value"),
        TextAreaQuejasySugerencias: $("#TextAreaQuejasySugerencias").attr("value")
    }
  //  alert(enviar.id_Edificio + " - " + enviar.Tipo + " - " + enviar.Lugar + " - " + enviar.Fecha + " - "
  //  + enviar.TextAreaQuejasySugerencias);
    fv = new formValidator();
    borrarErrores();
    if (!fv.isSelectedSelect(document.getElementById("Nombre"))) {
        fv.raiseError("Por favor seleccione un edificio");
        document.getElementById("errorEdificio").innerHTML = "Seleccione un edificio";
    } else {
        document.getElementById("errorEdificio").innerHTML = "";
    }

    if (!fv.isCheckedRadioButton($("input:radio[name='Tipo']"))) {
        fv.raiseError("Por favor seleccione un tipo de solicitud");
        document.getElementById("errorTipo").innerHTML = "Seleccione un tipo";
    } else {
        document.getElementById("errorTipo").innerHTML = "";
    }
    if (fv.isEmpty(document.getElementById("Lugar").value) || (!fv.isAlphaNumeric(document.getElementById("Lugar").value))) {
        fv.raiseError("Por favor ingrese un lugar correcto");
        document.getElementById("errorLugar").innerHTML = "Ingrese un lugar correcto";
    } else {
        document.getElementById("errorLugar").innerHTML = "";
    }

    if (fv.isEmpty(document.getElementById("fecha").value)) {
        fv.raiseError("Por favor ingrese una fecha");
        document.getElementById("errorFecha").innerHTML = "Ingrese una fecha";
    } else {
        document.getElementById("errorFecha").innerHTML = "";
    }
    
    
    if (fv.isEmpty(document.getElementById("TextAreaQuejasySugerencias").value) && !fv.isAlphaNumeric(document.getElementById("TextAreaQuejasySugerencias").value)) {
        fv.raiseError("Por favor seleccione una descripción");
        document.getElementById("errorDescripcion").innerHTML = "Ingrese una descripción correcta";
    } else {
        document.getElementById("errorDescripcion").innerHTML = "";
    }
    if (fv.numErrors() < 1) {

        //        alert($("#Nombre").val());
        console.log(enviar);
        var jsonData = JSON.stringify(enviar);
        //        alert(jsonData);
        $.ajax({
            type: "POST",
            data: jsonData,
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            url: "registrarQuejasySugerencias",
            beforeSend: esperarQuejaySugerencia,
            success: llegadaQuejaySugerencia

        });
        return true;
    }
    else {
        return false;
    }
}

function esperarQuejaySugerencia() {

}

function llegadaQuejaySugerencia(data) {
    window.history.back();
    alert(data.me);
}
//*************************************************************************
//BUSCAR QUEJAS Y SUGERENCIAS

function buscarQuejaySugerencia() {

    var enviarBusqueda = {
        FechaI: $("#FechaIB").attr("value"),
        FechaF: $("#FechaFB").attr("value"),
        id_Edificio: $("#Nombre").val(),
        tipo: $("#tipo").attr("value"),
        estado: $("#estado").attr("value")
    }
    var jsonData = JSON.stringify(enviarBusqueda)
    //    alert(enviarBusqueda.FechaI + " - " + enviarBusqueda.FechaF + " - " + enviarBusqueda.id_Edificio + " - "
    //    + enviarBusqueda.Tipo + " - " + enviarBusqueda.Estado);
    $.ajax({
        type: "POST",
        data: jsonData,
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        url: "buscarQuejasySugerencias",
        beforeSend: esperarBusqueda,
        success: llegadaBusqueda
    });
}

function esperarBusqueda() { }
function llegadaBusqueda(data) {
    //    alert(data);
    var lista = data.ListaQuejasySugerencias;
    //    alert(lista);
    var jsonData = JSON.stringify(lista);
    //        alert(jsonData);
    var escritor = "";

    escritor += "<table>" +
                    "<thead><th class=" + "\"style1\" " + "style=" + "\"width:30px;\" " + "></th>" +
                    "<th>Id Queja/Sugerencia</th>" +
                    "<th>Tipo</th>" +
                    "<th>Edificio</th>" +
                    "<th>Lugar</th>" +
                    "<th>Fecha</th>" +
                    "<th>Descripción</th>" +
                    "<th>Estado</th></thead>";

    escritor += "<tbody>";
    $.each(lista, function (i, item) {
        escritor += "<tr>";
        escritor += "<td class=" + "\"style1\"" + " style=" + "\width:30px;\"" + " align=" + "\"center\"" + "><input id=" + "\"RadioButton1\"" + " name=" + "\"R1\"" + " type=" + "\"radio\"" + " value=" + "\"1\"" + " style=" + "\"width:30px;\"/></td>";
        escritor += '<td>' + item.idQuejas + '</td>';
        if (item.tipo == 1) { escritor += '<td>Queja</td>'; }
        else { escritor += '<td>Sugerencia</td>'; }
        escritor += '<td>' + item.NombreEdificio + '</td>';
        escritor += '<td>' + item.Lugar + '</td>';
        escritor += '<td>' + item.fecha + '</td>';
        escritor += '<td>' + item.TextAreaQuejasySugerencias + '</td>';
        if (item.estado == 1) { escritor += '<td>Activa</td>'; }
        else { escritor += '<td>Atendida</td>'; }
        escritor += "</tr>";
    });
    escritor += "</toby>";
    escritor += "</table>";

    $("#TablaDinamicaBusqueda").html(escritor);
    $("#botonModificarB").show();
    $("#botonAtender").show();
}

$(function () {
    var nameB = $("#nameB"),
            emailB = $("#emailB"),
            passwordB = $("#passwordB"),
            allFields = $([]).add(nameB).add(emailB).add(passwordB),
            tips = $(".validateTips");

    function updateTips(t) {
        tips
                .text(t)
                .addClass("ui-state-highlight");
        setTimeout(function () {
            tips.removeClass("ui-state-highlight", 1500);
        }, 500);
    }
    $("#dialog-form-ver").dialog({
        autoOpen: false,
        height: 600,
        width: 850,
        modal: true,
        buttons: {
            "Aceptar": function () {
                var enviar = {
                    idQuejas: $("#idQuejas").attr("value"),
                    Lugar: $("#LugarVer").attr("value"),
                    TextAreaQuejasySugerencias:$("#DescripcionVer").attr("value"),
                }
                var jsonData = JSON.stringify(enviar);
                fv = new formValidator();
                if (fv.isEmpty(document.getElementById("LugarVer").value) || (!fv.isAlphaNumeric(document.getElementById("LugarVer").value))) {
                    fv.raiseError("Por favor ingrese un lugar correcto");
                    document.getElementById("errorLugar").innerHTML = "Ingrese un lugar correcto";
                } else {
                    document.getElementById("errorLugar").innerHTML = "";
                }
                if (fv.isEmpty(document.getElementById("DescripcionVer").value) && !fv.isAlphaNumeric(document.getElementById("DescripcionVer").value)) {
                    fv.raiseError("Por favor seleccione una descripción");
                    document.getElementById("errorDescripcion").innerHTML = "Ingrese una descripción correcta";
                } else {
                    document.getElementById("errorDescripcion").innerHTML = "";
                }
                if (fv.numErrors() < 1) {
                    $.ajax({
                        type: "POST",
                        data: jsonData,
                        dataType: "json",
                        contentType: "application/json; charset=utf-8",
                        url: "modificarQuejaySugerencia",
                        success: function (data) {
                            window.history.back();
                            alert(data.me);
                        }
                    });
                }
                $(this).dialog("close");
            },
            "Cerrar": function () {
                $(this).dialog("close");
            }
        },
        close: function () {
            allFields.val("").removeClass("ui-state-error");
        }
    });

    $("#botonModificarB").click(function () {

        $("#dialog-form-ver").dialog("open");
        var bValid = true;
        allFields.removeClass("ui-state-error");
        if (bValid) {
            if ($("input:radio[name='R1']:checked")) {

                var idQuejas, tipo, NombreEdificio, Lugar, fecha, TextAreaQuejasySugerencias, estado;
                $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
                    switch (index2) {
                        case 1:
                            idQuejas = $(this).text();
                            break;
                        case 2:
                            tipo = $(this).text();
                            break;
                        case 3:
                            NombreEdificio = $(this).text();
                            break;
                        case 4:
                            Lugar = $(this).text();
                            break;
                        case 5:
                            fecha = $(this).text();
                            break;
                        case 6:
                            TextAreaQuejasySugerencias = $(this).text();
                            break;
                        case 7:
                            estado = $(this).text();
                            break;
                    }

                })
//                alert(idQuejas + " - " + tipo + " - " + NombreEdificio + " - " + Lugar + " - " + fecha + " - " + TextAreaQuejasySugerencias
//                    + " - " + estado);
                document.getElementById("idQuejas").value = idQuejas;
                document.getElementById("nombreEdificio").value = NombreEdificio;
                if (tipo == "Queja") {
                    $("input:radio[name='TipoVer']")[1].checked = false;
                    $("input:radio[name='TipoVer']")[0].checked = true;
                }
                else {
                    $("input:radio[name='TipoVer']")[0].checked = false;
                    $("input:radio[name='TipoVer']")[1].checked = true;
                }
                document.getElementById("LugarVer").value = Lugar;
                document.getElementById("FechaVer").value = fecha;
                document.getElementById("DescripcionVer").value = TextAreaQuejasySugerencias;
            }
        }
    });

});

//*************************************************************************
//FUNCION REGRESAR A LA PAGINA ANTERIOR
function menuQuejasySugerencias() {
    window.history.back();
}
//*************************************************************************
//FUNCION ELIMINAR
function eliminar() {
    if ($("input:radio[name='R1']:checked")) {
        var id;
        $("input:radio[name='R1']:checked").parents("tr").children("td").each(function (index2) {
            switch (index2) {
                case 1:
                    id = $(this).text();
                    break;
            }
        });

        var question = confirm("Ya se atendio la queja/sugerencia");
        if (question != 0) {
            var enviar = {
                idQuejas: id
            }

            var jsonData = JSON.stringify(enviar);
            $.ajax({
                type: "POST",
                data: jsonData,
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                url: "eliminarQuejaySugerencia",
                beforeSend: esperarEliminarQyS(),
                success: llegadaEliminarQyS
            });
        }
    }
    else {
        alert("Debe seleccionar una fila");
    }  
 }

function esperarEliminarQyS() { }
function llegadaEliminarQyS(data) {
    window.history.back();
    alert(data.me);
}
//******************************************************************